package ar.uade.fain.ai.tpo.view.producto;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

import ar.uade.fain.ai.tpo.Sistema;
import ar.uade.fain.ai.tpo.dto.ProductoDTO;
import ar.uade.fain.ai.tpo.util.DateUtils;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ModificarProducto extends javax.swing.JFrame {
	
	private static final long serialVersionUID = 1L;
	
	private JButton modificarProductoButton;
	private JTextField fechaHastaText;
	private JLabel idCategoriaLabel;
	private JTextField costoField;
	private JLabel costoLabel;
	private JTextField idCategoriaField;
	private JTextField idProveedorField;
	private JLabel idProveedorLabel;
	private JLabel idUnidadLabel;
	private JTextField unidadField;
	private JButton buscarButton;
	private JTextField idText;
	private JLabel idLabel;
	private JTextField fechaDesdeText;
	private JLabel fechaHastaLabel;
	private JLabel fechaDesdeLabel;
	private JTextField nombreText;
	private JLabel nombreLabel;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ModificarProducto inst = new ModificarProducto();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public ModificarProducto() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				modificarProductoButton = new JButton();
				getContentPane().add(modificarProductoButton);
				modificarProductoButton.setText("Modificar Producto");
				modificarProductoButton.setBounds(229, 228, 117, 23);
				modificarProductoButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent arg0) {
						final ProductoDTO prodDTO = new ProductoDTO();
						String costo = costoField.getText();
						prodDTO.setCosto(costo == null || costo.isEmpty() ? null : Double.parseDouble(costo));
						String fechaDesde = fechaDesdeText.getText();
						prodDTO.setEstacionDesde(fechaDesde == null || fechaDesde.isEmpty() ? null : DateUtils.parse(fechaDesde, DateUtils.FORMAT_DD_MM_AAAA));
						String fechaHasta = fechaHastaText.getText();
						prodDTO.setEstacionHasta(fechaHasta == null || fechaHasta.isEmpty() ? null : DateUtils.parse(fechaHasta, DateUtils.FORMAT_DD_MM_AAAA));
						String categoria = idCategoriaField.getText();
						prodDTO.setIdCategoria(categoria == null || categoria.isEmpty() ? null : Long.parseLong(categoria));
						String proveedor = idProveedorField.getText();
						prodDTO.setIdProveedor(proveedor == null || proveedor.isEmpty() ? null : Long.parseLong(proveedor));
						String unidad = unidadField.getText();
						prodDTO.setIdUnidad(unidad == null || unidad.isEmpty() ? null : Long.parseLong(unidad));
						prodDTO.setNombre(nombreText.getText());
						String id = idText.getText();
						prodDTO.setId(id == null || id.isEmpty() ? null : Long.parseLong(id));
						Sistema.get().getProductoControlador().modificarProducto(prodDTO);
					}
				});
				
			}
			{
				nombreLabel = new JLabel();
				getContentPane().add(nombreLabel);
				nombreLabel.setText("Modificar nombre:");
				nombreLabel.setBounds(12, 45, 117, 20);
			}
			{
				nombreText = new JTextField();
				getContentPane().add(nombreText);
				nombreText.setBounds(152, 44, 192, 23);
				nombreText.setEditable(false);
			}
			{
				fechaDesdeLabel = new JLabel();
				getContentPane().add(fechaDesdeLabel);
				fechaDesdeLabel.setText("Modificar fecha inicio de estacion:");
				fechaDesdeLabel.setBounds(12, 77, 199, 20);
				
			}
			{
				fechaDesdeText = new JTextField();
				getContentPane().add(fechaDesdeText);
				fechaDesdeText.setBounds(229, 79, 115, 23);
				fechaDesdeText.setEditable(false);
			}
			{
				fechaHastaText = new JTextField();
				getContentPane().add(fechaHastaText);
				fechaHastaText.setBounds(180, 114, 184, 20);
				fechaHastaText.setEditable(false);
			}
			
			{
				fechaHastaLabel = new JLabel();
				fechaHastaLabel.setText("Fecha fin Estacion:");
				getContentPane().add(fechaHastaLabel);
				fechaHastaLabel.setBounds(15, 112, 115, 24);
			}
			{
				idLabel = new JLabel();
				getContentPane().add(idLabel);
				idLabel.setText("Id del producto a modificar:");
				idLabel.setBounds(12, 12, 167, 16);
			}
			{
				idText = new JTextField();
				getContentPane().add(idText);
				idText.setBounds(176, 9, 91, 23);
			}
			{
				buscarButton = new JButton();
				getContentPane().add(buscarButton);
				buscarButton.setText("Buscar");
				buscarButton.setBounds(289, 9, 76, 23);
				buscarButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						final ProductoDTO productoDTO = Sistema.get().getProductoControlador().
								buscarProducto(Long.parseLong(idText.getText()));
						nombreText.setText(productoDTO.getNombre());
						nombreText.setEditable(true);
						idCategoriaField.setText(productoDTO.getIdCategoria().toString());
						idCategoriaField.setEditable(true);
						idProveedorField.setText(productoDTO.getIdProveedor().toString());
						idProveedorField.setEditable(true);
						unidadField.setText(productoDTO.getIdUnidad().toString());
						unidadField.setEditable(true);						
						fechaDesdeText.setText(productoDTO.getEstacionDesde()== null  ? "" : productoDTO.getEstacionDesde().toString());
						fechaDesdeText.setEditable(true);
						fechaHastaText.setText(productoDTO.getEstacionHasta()==null ? "" : productoDTO.getEstacionHasta().toString());
						fechaHastaText.setEditable(true);
						costoField.setText(productoDTO.getCosto().toString());
						costoField.setEditable(true);
					}
				});
			}
			{
				idUnidadLabel = new JLabel();
				getContentPane().add(idUnidadLabel);
				idUnidadLabel.setText("idUnidad:");
				idUnidadLabel.setBounds(24, 159, 60, 16);
			}
			{
				unidadField = new JTextField();
				getContentPane().add(unidadField);
				unidadField.setBounds(102, 158, 28, 19);
				unidadField.setEditable(false);
			}
			{
				idProveedorLabel = new JLabel();
				getContentPane().add(idProveedorLabel);
				idProveedorLabel.setText("idProveedor:");
				idProveedorLabel.setBounds(188, 161, 67, 16);
			}
			{
				idProveedorField = new JTextField();
				getContentPane().add(idProveedorField);
				idProveedorField.setBounds(294, 158, 40, 23);
				idProveedorField.setEditable(false);
			}
			{
				idCategoriaLabel = new JLabel();
				getContentPane().add(idCategoriaLabel);
				idCategoriaLabel.setText("idCategoria: ");
				idCategoriaLabel.setBounds(18, 200, 93, 16);
			}
			{
				idCategoriaField = new JTextField();
				getContentPane().add(idCategoriaField);
				idCategoriaField.setBounds(102, 197, 28, 19);
				idCategoriaField.setEditable(false);
			}
			{
				costoLabel = new JLabel();
				getContentPane().add(costoLabel);
				costoLabel.setText("Costo: ");
				costoLabel.setBounds(18, 231, 37, 16);
			}
			{
				costoField = new JTextField();
				getContentPane().add(costoField);
				costoField.setBounds(102, 232, 50, 18);
				costoField.setEditable(false);
			}
			pack();
			setSize(400, 300);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

}
